As the number of mobile employees, remote employees, guest employees and task-based employees increases, so does the need for computing systems that restrict the information available to each type of employee, and isolate an employee's personal data from work-related data. Many companies provide their employees with laptops, remote access to the company's intranet, remote access to applications used by an employee, remote access to an employee's files, and access to remote desktops, virtual machines, or remote applications. In many instances, employees can access company resources from any geographical location, using any machine and/or network.
The increasing need for extremely portable computing environments that provide users with the same computing experience across different endpoints and access scenarios has spawned a number of different solutions. Among them include solutions that execute virtual machines in a server environment, and then migrate those virtual machines from one physical host machine to another one without shutting down or losing any data. Other solutions include portable virtual machines that provide a portable boot image. These solutions present a number of challenges because there are often application and driver compatibility issues, and the system footprints often remain on the individual desktop machine thereby compromising security.